The present invention relates to improvement of the asset management efficiency and effect.
Herein, a mechanism for preventing piracy and a mechanism for detecting a virus or the like are broadly referred to as asset management or software management.
In order to conduct such asset management, there is an asset management program for detecting unfairness. Herein, “unfairness” means unfair software (for example, software containing a virus or the like and software that makes unfair copy possible) and unfair copy. In addition, among asset management programs, there are programs that remove unfair software.
A method of selling and distributing storage media (such as DVDs) in which an asset management program for detecting unfairness has been written at the time of manufacturing is known (BD+ technique). According to this technique, a reproducing device (such as a DVD player) for reproducing contents stored in a storage medium executes the asset management program by using an interpreter formed of a virtual machine (VM) mounted on the reproducing device.
This method has a feature that the asset management program can be executed in a wide variety of reproducing devices because the reproducing device executes the asset management program by using the interpreter. According to this method, the asset management program can be executed for a personal computer (PC) or a car navigation system which emulates the reproducing function on the device and reproduces contents.
Here, the interpreter is a different program for interpreting and executing a language (an intermediate language) that is set and that is different from a machine language of an executing device, on the executing device. The interpreter executes an intermediate language program translated from a program described by using a high level language.
A method of executing a program described by using a high level language on a device by using a compiler is also known. The compiler translates a program described by using a high level language to a program of a machine language of an executing device and directly executes the machine program obtained after translation.
The interpreter can eliminate the following drawbacks of the compiler (JP-A-10-254712).
(Drawback 1 of the compiler) A compiler for translating a source program to a machine language program is needed for each device. The development quantity of the compiler becomes large. Furthermore, it is necessary to conduct maintenance and expansion for each device. As a result, the overhead of the maintenance and expansion becomes large.
(Drawback 2 of the compiler) When executing the same program in a plurality of devices, compiling (translation from a source program to a machine language program) is necessary for each device. The overhead of the management of the machine language program is large.
(Drawback 3 of the compiler) Even if programs have the same contents in an environment in which a plurality of devices are connected via a network, a plurality of machine language programs are needed respectively in association with devices, resulting in problems in version management and disk space. Furthermore, it is difficult to execute the same program dispersively.
(Drawback 4 of the compiler) In some systems actually operated, there is no source program and the system is operated by using only a machine language program. In such systems, it is difficult to shift and change constituent devices. While the computer architecture is sophisticated by advance in hardware technique, intense restrictions are imposed on architecture changes to inherit the machine language program asset.
However, the asset management program must cope with a wide variety of devices. Therefore, the interpreter is more suitable for the asset management program than the compiler.
An asset management method for managing a software license is described in JP-A-2001-222424. However, this method can be executed only for devices connected to a network.
Furthermore, a method of writing an asset management program onto a storage medium (such as a CD or a DVD) together with contents to detect unfairness such as illegal copy is known (BD+ technique). Unlike the method described in JP-A-2001-222424, this method makes it possible to execute the asset management program certainly for small-sized devices having excellent portability and devices that are not connected to a network as well. In this method, however, the asset management program is written onto the storage medium, and consequently it is difficult to detect the latest unfair program that has appeared after the writing. In recent years, contents such as moving pictures and voices can be reproduced not only by dedicated devices but also devices capable of emulating the reproduction function and conducting reproduction (such as car navigation systems and personal computers). The asset management program must cope with these devices as well. Therefore, the asset management program must include programs specific to respective devices. As a result, the data quantity of the asset management program becomes large.
In the method, the data quantity of the asset management program thus increases. However, the data quantity in the storage medium is constant. In the method, therefore, there is a problem that the contents writing area is decreased. In addition, there is a problem that the asset management program cannot cope with a device sold after the asset management program has been written.
An asset management method that makes it possible to conduct asset management for a movable client terminal or a client terminal that is not connected to a network is described in JP-A-2004-178121.
In the protection technique such as the BD+ technique described above and the method described in JP-A-2004-178121, the data quantity for the asset management program is increased by an increase of kinds of reproducible reproducing devices. This results in a problem that the overhead at the time of execution of the asset management program increases. There is also a problem that it takes much time when delivering the asset management program to a reproducing device or when updating the asset management program.